import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.awt.Image.*;

public class Tali extends Applet implements MouseListener, Runnable{
  Image pilt;
  Image taust;
  int[] x=new int[100];  // massiiv 100-le arvule;
  int[] y=new int[100];
  int alaServ=550;
  int r=5;
  int samm=1;
  int helvesteArv=0;
  public Tali(){
    addMouseListener(this);
	new Thread(this).start();
  }
  public void paint(Graphics g){
    if(taust==null)taust=laePilt("taust.jpg");
    g.drawImage(taust, 0, 0, this);
	for(int i=0; i<helvesteArv; i++){
    	if(pilt==null)pilt=laePilt("helves.gif");
	    g.drawImage(pilt, x[i]-r, (int)y[i]-r, this);
	}
  }

  public void update(Graphics g){ //et ei laeks valget pilti vahepeal, vaid laoks kohe alguses talvetausta
     paint(g);
  }

  public void run(){
    while(true){
      try{Thread.sleep(100);} catch(Exception viga){}
	  for(int i=0; i<helvesteArv; i++){
	    if(y[i]<alaServ){
	      y[i]=y[i]+samm;
		}
	  }
	  repaint();
    }
  }


  Image laePilt(String failinimi){  //peab olema kirjeldatud, sest muidu ta ei oska pilti laadida
     try{
      return getImage(getCodeBase(), failinimi);
     }catch(Exception e){}
      return Toolkit.getDefaultToolkit().getImage(failinimi);
  }


  public void mousePressed(MouseEvent e){
    x[helvesteArv]=e.getX();
    y[helvesteArv]=e.getY();
    helvesteArv++;
  }
public void mouseReleased(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}

public static void main(String[] argumendid){
  Frame f=new Frame();
  f.add(new Tali());
  f.setSize(818, 583);
  f.setVisible(true);
}
}

